package io.github.wslxm.springbootplus2.manage.sys.dao;

import com.baomidou.mybatisplus.extension.service.IService;
import io.github.wslxm.springbootplus2.manage.sys.model.entity.SysRoleAuth;

import java.util.List;

/**
 * base--sys--角色/用户关联 Service
 *
 * <p>
 * ::本代码由[兮家小二]提供的代码生成器生成,如有问题,请手动修改 ::作者CSDN:https://blog.csdn.net/qq_41463655
 * </p>
 *
 * @author ws
 * @email 1720696548@qq.com
 * @date 2025-09-17 16:58:07
 */
public interface SysRoleAuthDao extends IService<SysRoleAuth> {


    /**
     * 查询指定角色的 角色菜单关联数据
     *
     * @param roleId
     * @return boolean
     */
    List<SysRoleAuth> findAuthByRoleId(String roleId);



    /**
     * 查询指定角色的 角色菜单关联数据
     *
     * @param roleId
     * @return boolean
     */
    List<String> findAuthIdsByRoleId(String roleId);

    /**
     * 查询指定角色的 角色菜单关联数据
     *
     * @param roleIds
     * @return boolean
     */
    List<String> findAuthIdsByRoleIds(List<String> roleIds);


    /**
     * 增加角色的权限
     *
     * @param roleId 角色id
     * @param authId 菜单id
     * @return boolean
     */
    boolean addRoleAuth(String roleId, String authId);

    /**
     * 分配角色权限
     *
     * @param roleId
     * @param authIds
     * @return boolean
     */
    boolean updRoleAuths(String roleId, List<String> authIds);


    /**
     * 删除权限时, 同时删除角色关联的权限数据 (批量)
     *
     * @param authIds
     * @return boolean
     */
    boolean delByAuthIds(List<String> authIds);


    /**
     * 删除角色 关联的使用权限
     *
     * @param roleId
     * @return boolean
     */
    boolean delByRoleId(String roleId);

}

